#include <bits/stdc++.h>
using namespace std;
long long n, ans, num[20010], a[20010];

// 新增函数，用于计算 x & (-x)
long long lowbit(long long x) { return x & (-x); }

void add(long long x, long long v) {
  while (x <= n) { // 使用新函数 lowbit
    num[x] += v;
    x += lowbit(x);
  }
}

long long sum(long long x) {
  // return (x == 0) ? 0 : sum(x - lowbit(x)) + num[x];可以递归
  long long result = 0;
  while (x > 0) {
    result += num[x];
    x -= lowbit(x);
  }
  return result;
}

int main() {
  cin >> n; // 输入正整数 n
  for (long long i = 1; i <= n; ++i)
    cin >> a[i]; // 输入排列 a1, a2, ..., an

  for (long long i = 1; i <= n; ++i) {
    long long L = sum(a[i]);                // 计算小于 a[i] 的数量
    long long R = (n - a[i]) - (i - 1 - L); // 计算大于 a[i] 的数量
    ans += (R * (R - 1) / 2) - (R * L);     // 更新答案
    add(a[i], 1);                           // 更新树状数组
  }

  cout << ans << endl; // 输出结果

  return 0;
}
